თავი 1. Access 2007-ის ობიექტური მოდელი
ფორმის გაღება და დახურვა რამდენიმე ხერხითაა შესაძლებელი. ერთ-ერთი გავრცელებული ხერხია ფორმის გაღება DoCmd მეთოდით. ფორმის გაღების სინტაქსი შემდეგია:
DoCmd.OpenForm FormName (ფორმის სახელი), [View (წარმოდგენა)], [FilterName (ფილტრი)], [WhereCondition (პირობები)], [DataMode ( ფორმის გაღების რეჟიმები), [WindowMode (ფანჯრის რეჟიმი)], [OpenArgs (ოპერანდები)]
DoCmd.OpenForm-ის არგუმენტი:
1. View – ფორმის ეკრანზე გამოსახვის სახეს გვიჩვენებს. მისი მნიშვნელობებია:
- acDesign – ფორმა დაპროექტების რეჟიმში;
- acFormDS – ფორმა წარმოდგენილი ცხრილის სახით;
- acFormPivotChart – ფორმა წარმოდგენილი კრებსითი გრაფიკის სახით;
- acFormPivotTable – ფორმა წარმოდგენილი კრებსითი ცხრილის სახით;
- acNormal – ფორმა წარმოდგენილი Window-ის ფორმის სახით (გაჩუმებით);
- acPreview – ფორმა, დათვალიერების რეჟიმში;
2. FilterName – ფორმაში გამოყენებული მონაცემების ამორჩევის შეკითხვის სახელია;
3. WhereCondition – მონაცემების ამორჩევის გამოსახულებაა. იგი SQL ინსტრუქციაში WHERE-ს ანალოგიურია, მხოლოდ იმ განსხვავებით, რომ საკვანძო სიტყვა WHERE გამოსახულებაში არ მონაწილეობს;
4. DataMode – ფორმის გაღების რეჟიმებს გვიჩვენებს. მისი მნიშვნელობებია:
- acFormAdd – ფორმაში შესაძლებელია ჩანაწერის დამატება;
- acFormEdit – ფორმაში შესაძლებელია მონაცემე-ბის რედაქტირება და ჩანაწერის დამატება;
- acFormPropertySettings – გაჩუმებით;
- acFormReadOnly – ფორმაში მხოლოდ მონაცემების წაკითხვა შეიძლება;
5. WindowMode – ფანჯრის რეჟიმი, ფორმის გაღების წესს გვიჩვენებს. მისი მნიშვნელობებია:
- acDialog – ფორმა მცურავია და დიალოგური;
- acHidden – ფორმა გაღებულია, მაგრამ ეკრანიდან გადამალულია;
- acIcon – ფორმის გაღების შემდეგ იგი წარმოდგენილია იარლიყის სახით;
- acWindowNormal – ფორმა გაღების შემდეგ Window-ის ფორმის სახითაა (გაჩუმებით);
6. OpenArgs – ხორციელდება ფორმის მოდულში ნებისმიერი დამატებითი მონაცემების გადაცემა.
მაგალითი: ფორმის გაღება
Sub Fopen ()
DoCmd.OpenForm ”Fstudenti”, acNormal, , , acFormReadOnly, acDialog ’ ფორმა დიალოგურია, გაღებულია მხოლოდ წაკითხვის რეჟიმში
End Sub
ფორმის დახურვისთვის გამოიყენება DoCmd-ის მეთოდი Close. მეთოდი Close ზოგადია. მისი საშუალებით შეიძლება დახურულ იქნეს Access-ის სხვადასხვა ობიექტები: შეკითხვები, დიაგრამები, შენახული პროცედურები, მაკროსები, ფორმები და სხვა. DoCmd-ის ჩაწერის სინტაქსი შემდეგია:
DoCmd.Close[ObjectType (ობიექტის ტიპი)], [ObjectName (ობიექტის სახელი)], [Save As (დამახსოვრება)]
DoCmd.Close არგუმენტი:
1. ObjectType – ობიექტის ტიპი, მისი მნიშვნელობებია:
- acDiagram – დიაგრამა;
- acForm – ფორმა;
- acFunction – ფუნქცია;
- acMacro – მაკროსი;
- acModule – მოდული;
- acQuery – შეკითხვა;
- acReport – ანგარიშგება;
- acServerView – სერვერზე არსებული წარმოდგენა;
- acStoredProcedure – შენახული პროცედურა;
- acTable – ცხრილი.
2. ObjectName – იმ ობიექტის სახელია, რომლის დახურვაც გსურთ;
3. Save As – დახურვის ობიექტში (ამ შემთხვევაში ფორმაში) განხორციელებული ცვლილებების: ფილტრის დაყენება, ჩანაწერების თანმიმდევრობის ცვლილება და სხვა დამახსოვრება. მისი მნიშვნელობებია: acSaveNo – დამახსოვრების გარეშე, acSaveYes – დამახსოვრებით, acSavePrompt
მაგალითი: ფორმის დახურვა
Sub Fclose ()
DoCmd.Close acForm, „Fstudenti“, acSaveYes ’ დაიხურება ფორმა სახელით Fstudenti მასში ჩატარებული ცვლილებების დამახსოვრებით
End Sub
მაგალითი: ფორმის არსებობის შემოწმება
Function Fkontroli(Fsaxeli As String) As Boolean
On Error GoTo t1
Dim FO As AccessObject ’გამოცხადებულია Access-ის ობიექტის ცვლადი
Set FO = CurrentProject.AllForms(Fsaxeli) ’ცვლადის ფორმის ობიექტებსთვის მიკუთვნება
Fkontroli = True
t2: Exit Function
t1: Fkontroli = False
Exit Function
End Function
Sub sem() ’ ფორმის არსებობის შემოწმება
If Fkontroli(„Fsatudenti“) Then
a = 1
Else
a = 2
End If
End Sub
მაგალითი: ფორმის ეკრანზე არსებობის ფაქტის შემოწმება
Function Fkontroli1(Fsaxeli As String) As Boolean
On Error GoTo t1
Dim frm As Form
Set frm = Forms(Fsaxeli)
Fkontroli1 = True
t2: Exit Function
t1: Fkontroli1 = False
Exit Function
End Function
Sub sem()
If Fkontroli1(„Fsia“) Then
a = 1
Else
a = 2
End If
End Sub